import 'package:json_annotation/json_annotation.dart';
part 'BannerInfo.g.dart'; // 1、指到生成的文件，当前文件.g.dart
/**
 *   part 'BannerResponse.g.dart'; // 1、指到生成的文件，当前文件.g.dart
 *   flutter pub run build_runner build --delete-conflicting-outputs
 *   # 后面的--delete-conflicting-outputs是可选的，作用是：
    # 自动删除任何现存的，与即将生成的输出文件冲突的文件，然后继续构建过程。
    # 这样可以清理由于老版本或不同构建配置造成的遗留文件

    flutter packages pub run build_runner watch //监控生成文件，如果有改动时自动生成/更新 .g.dart 文件

    json2dart_for_json_serializable:
    https://caijinglong.github.io/json2dart/index_ch.html
 */
@JsonSerializable()
class BannerInfo {
  @JsonKey(name: 'id') // 使用此注解可以对变量进行重命名
  final int bid;
  final String desc;
  final String imagePath;
  final int isVisible;
  final String title;
  final String url;

  BannerInfo(this.bid, this.desc, this.imagePath, this.isVisible, this.title, this.url);

  factory BannerInfo.fromJson(Map<String, dynamic> json) => _$BannerInfoFromJson(json);

  Map<String, dynamic> toJson() => _$BannerInfoToJson(this);
}